In known methods of comparing two sets of objects, for example, the directories on two computer drives, or the files in two separate folders in a database, or one or more files in two separate databases, the comparison is performed in one phase. In these methods, a user requests the comparison of two sets of objects, which is then performed, and, some time later, the results of the comparison are displayed, or otherwise produced, for the user. Normally, once the comparison is requested, the user has no control over the order of the comparison, and must simply await the results thereof. A lack of control over the order of the comparison may be undesirable, especially with comparisons of large files, or many files, as the time required for the comparison can often be quite lengthy.
Further, in known comparison methods, the user may have to wait for the entire comparison to be completed before they are apprised of any of the results thereof. Too, if the user prematurely ends a comparison, i.e., stops it before it is complete, the user may not be notified of, or otherwise made aware of, any of the results of the comparison that were generated as of the time the comparison was prematurely ended.
As an example, referring to FIG. 1A, a user requests a comparison of five files in each of two computer directories. The user is fairly sure one of the files, file 90, is different in the two computer directories. However, the user wants to ensure that all the five files in each of the two directories are equivalent, and, thus, includes them all in the comparison request.
In known comparison methods, the corresponding files in each of the directories are compared in a top down fashion. Thus, corresponding files 91 will be compared first, corresponding files 92 will be compared second, corresponding files 90 will be compared next, and so on.
As depicted in FIG. 1A, the corresponding files 91, the corresponding files 92 and the corresponding files 94 are relatively large, and the comparison of them could be lengthy. The user may have to wait for all five corresponding files to be compared before they can learn whether one or more, including suspected corresponding files 90, are different.
As the comparison may take longer than the user wishes, the user can generally end it prematurely. However, in known systems, the user may not be notified of the results obtained for comparisons made prior to the premature end of the comparison process.
In the example of FIG. 1A, if the user prematurely ends the comparison process during the comparison of the second corresponding files 92, the user is not notified of the results of the comparison of the first corresponding files 91. Further, the comparison is never made, and the user is never apprised of the results of the suspect corresponding files 90.
Also in known methods for comparing two sets of objects, the results of the comparison are displayed in two separate trees, as shown in FIG. 1B. The first, or leftmost, tree 70 represents the objects, or items, in a first set of objects compared. The second, or right-most, tree 72 represents the objects, or items, in a second set of objects compared.
The objects of Directory1a 74 of Directory1 76 in the example of FIG. 1B were compared from two separate sources. The first source, represented by the left-most tree 70, contains objects itema 78, itemb 79 and itemc 80. The second source, represented by the right-most tree 72, contains objects itema 81, itemc 82 and itemd 83. The itema 78 object from the first source and the itema 81 object from the second source comprise an object pair, and were, thus, compared in the comparison process. The itemc 80 object from the first source and the itemc 82 from the second source also comprise an object pair, and were compared in the comparison process.
The itemb 79 object of the first source does not have a corresponding object in the second source, and thus, was not compared in the comparison method. Likewise, the itemd 83 object of the second source does not have a corresponding object in the first source, and was also, therefore, not compared in the comparison method.
The results of the comparison indicate that corresponding objects, or object pair, itema 78 and itema 81 are equal, or otherwise equivalent. The results of the comparison also indicate that corresponding objects, or object pair, itemc 80 and itemc 82 are not equal; i.e., they are different.
As shown in FIG. 1B, each set of objects compared is represented in the resultant comparison display as a separate tree structure, 70 and 72. Thus, in conventional comparison methods, the screen real-estate, or space, necessary for displaying the comparison results is generally large. As a result, it is difficult to display additional information relative to the comparison and/or objects involved therein along with the results of the comparison, for lack of screen space.
Thus, it is desirable to have a comparison process that informs the user of the results of the comparison as they became available; i.e., in real time, as they are generated. It is also desirable to have a comparison process in which the user can control, or otherwise determine, the order of the items compared. Further, it is desirable to have a comparison method that displays the results of a comparison in a more user-friendly manner. Too, it is desirable to have a comparison method that displays the results of the comparison in a more horizontally compact manner, in order to accommodate the display of additional information therewith.